/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ChatSystem;

import ChatController.ChatController;
import ChatController.Model;
import ChatGUI.ChatGUI;
import ChatNI.ChatNI;
import ChatNI.UDPCom;
import ChatNI.UDPecoute;
import java.net.InetAddress;

/**
 *
 * @author Marion et Nicolas
 */
public class GlobalMain {
    

    private static Model mod;
    private static ChatGUI gui;
    private static ChatNI ni;
    private static UDPCom sender;
    private static UDPecoute receiver;
    private static ChatController control;

    /**
     * Méthode principale du programme
     * @param args 
     */
    public static void main(String[] args) {
        try {
            
            //Création d'un nouveau modèle
            mod = new Model();

          
            receiver=new UDPecoute();
            //Pour un envoi en broadcast, on met l'addresse de broadcast
            sender = new UDPCom(2000,6666,InetAddress.getByName("255.255.255.255"));
            
            //Création d'un nouveau ChatNI
            ni = new ChatNI(receiver,sender);
            ni.setModel(mod);
            
            //Création d'un nouveau ChatController
            control = new ChatController(ni,mod);
            
            
            // GUI
            gui = new ChatGUI(control,mod);
            mod.addGui(gui);
            mod.addNi(ni);
            ni.setController(control);
            
        } catch (Exception e) {
            System.out.println("Erreur dans le global main");
        }
        
    }
}
